{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# 第03课：动手实战中文文本中的关键字提取"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "TF-IDF 的主要思想就是：如果某个词在一篇文档中出现的频率高，也即 TF 高；并且在语料库中其他文档中很少出现，即 DF 低，也即 IDF 高，则认为这个词具有很好的类别区分能力。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "TF-IDF 是 Term Frequency - Inverse Document Frequency 的简写\n",
    "TF 为词频（Term Frequency）\n",
    "IDF 为逆文档频率（Inverse Document Frequency），表示语料库中包含词 t 的文档的数目的倒数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "TF-IDF 倾向于过滤掉常见的词语，保留重要的词语"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "sentence：待提取的文本语料；\n",
    "\n",
    "topK：返回 TF/IDF 权重最大的关键词个数，默认值为 20；\n",
    "\n",
    "withWeight：是否需要返回关键词权重值，默认值为 False；\n",
    "\n",
    "allowPOS：仅包括指定词性的词，默认值为空，即不筛选。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Building prefix dict from the default dictionary ...\n",
      "Dumping model to file cache /var/folders/yw/k7z_d_3567g16ss9plk47x9w0000gn/T/jieba.cache\n",
      "Loading model cost 0.788 seconds.\n",
      "Prefix dict has been built succesfully.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "人工智能  智能  2017  机器  不同  人类  科学  模拟  一门  技术  计算机  研究  工作  Artificial  Intelligence  AI  图像识别  12  复杂  流行语\n"
     ]
    }
   ],
   "source": [
    "import jieba.analyse\n",
    "sentence  = \"人工智能（Artificial Intelligence），英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支，它企图了解智能的实质，并生产出一种新的能以人类智能相似的方式做出反应的智能机器，该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来，理论和技术日益成熟，应用领域也不断扩大，可以设想，未来人工智能带来的科技产品，将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能，但能像人那样思考、也可能超过人的智能。人工智能是一门极富挑战性的科学，从事这项工作的人必须懂得计算机知识，心理学和哲学。人工智能是包括十分广泛的科学，它由不同的领域组成，如机器学习，计算机视觉等等，总的说来，人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。2017年12月，人工智能入选“2017年度中国媒体十大流行语”。\"\n",
    "keywords = \"  \".join(jieba.analyse.extract_tags(sentence , topK=20, withWeight=False, allowPOS=()))\n",
    "print(keywords)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[('人工智能', 0.9750542675762887), ('智能', 0.5167124540885567), ('机器', 0.20540911929525774), ('人类', 0.17414426566082475), ('科学', 0.17250169374402063), ('模拟', 0.15723537382948452), ('技术', 0.14596259315164947), ('计算机', 0.14030483362639176), ('图像识别', 0.12324502580309278), ('流行语', 0.11242211730309279)]\n"
     ]
    }
   ],
   "source": [
    "keywords =(jieba.analyse.extract_tags(sentence , topK=10, withWeight=True, allowPOS=(['n','v'])))\n",
    "print(keywords)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "TextRank 是由 PageRank 改进而来，核心思想将文本中的词看作图中的节点，通过边相互连接，不同的节点会有不同的权重，权重高的节点可以作为关键词"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "智能  人工智能  机器  人类  技术  模拟  包括  科学  理论  计算机  领域  年度  需要  心理学  信息  语言  识别  带来  过程  延伸\n"
     ]
    }
   ],
   "source": [
    "result = \"  \".join(jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('n','v')))\n",
    "print(result)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通过 Gensim 库完成基于 LDA 的关键字提取。整个过程的步骤为：文件加载 -> jieba 分词 -> 去停用词 -> 构建词袋模型 -> LDA 模型训练 -> 结果可视化。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.019*\"汽车\" + 0.013*\"中国\" + 0.009*\"企业\" + 0.008*\"召回\" + 0.008*\"车展\"\n",
      "0.021*\"网约车\" + 0.019*\"司机\" + 0.017*\"车辆\" + 0.012*\"里程\" + 0.011*\"出租车\" + 0.009*\"平台\" + 0.008*\"公里\" + 0.007*\"驾驶员\"\n",
      "0.019*\"汽车\" + 0.013*\"中国\" + 0.009*\"企业\" + 0.008*\"召回\" + 0.008*\"车展\" + 0.007*\"一路\" + 0.006*\"座椅\" + 0.006*\"一带\"\n",
      "0.017*\"汽车\" + 0.011*\"技术\" + 0.010*\"智能\" + 0.010*\"设计\" + 0.010*\"系统\" + 0.009*\"驾驶\" + 0.007*\"体验\" + 0.007*\"车\"\n",
      "0.029*\"品牌\" + 0.023*\"中国\" + 0.022*\"车型\" + 0.018*\"市场\" + 0.017*\"SUV\" + 0.014*\"自主\" + 0.009*\"产品\" + 0.007*\"全新\"\n",
      "0.019*\"易到\" + 0.018*\"用户\" + 0.012*\"服务\" + 0.008*\"租车\" + 0.007*\"专车\" + 0.007*\"车辆\" + 0.007*\"出行\" + 0.007*\"神州\"\n",
      "0.030*\"汽车\" + 0.018*\"市场\" + 0.017*\"品牌\" + 0.010*\"销量\" + 0.008*\"销售\" + 0.008*\"新\" + 0.007*\"经销商\" + 0.007*\"发展\"\n",
      "0.019*\"增长\" + 0.017*\"同比\" + 0.015*\"万辆\" + 0.012*\"数据\" + 0.011*\"充电\" + 0.009*\"销量\" + 0.009*\"汽车\" + 0.009*\"显示\"\n",
      "0.026*\"汽车\" + 0.014*\"发展\" + 0.013*\"新能源\" + 0.009*\"停车\" + 0.009*\"企业\" + 0.008*\"中国\" + 0.008*\"产能\" + 0.007*\"汽车产业\"\n",
      "0.009*\"中\" + 0.006*\"占\" + 0.006*\"车辆\" + 0.006*\"排放\" + 0.005*\"检测\" + 0.005*\"销售\" + 0.005*\"尾气\" + 0.004*\"经济网\"\n",
      "0.059*\"汽车\" + 0.021*\"新能源\" + 0.021*\"中国\" + 0.010*\"发展\" + 0.010*\"二手车\" + 0.009*\"销售\" + 0.008*\"奥迪\" + 0.008*\"市场\"\n"
     ]
    }
   ],
   "source": [
    "#引入库文件\n",
    "import jieba.analyse as analyse\n",
    "import jieba\n",
    "import pandas as pd\n",
    "from gensim import corpora, models, similarities\n",
    "import gensim\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "#设置文件路径\n",
    "dir = \"../data/03/\"\n",
    "file_desc = \"\".join([dir,'car.csv'])\n",
    "stop_words = \"\".join([dir,'stopwords.txt'])\n",
    "#定义停用词\n",
    "stopwords=pd.read_csv(stop_words,index_col=False,quoting=3,sep=\"\\t\",names=['stopword'], encoding='utf-8')\n",
    "stopwords=stopwords['stopword'].values\n",
    "#加载语料\n",
    "df = pd.read_csv(file_desc, encoding='utf-8')\n",
    "#删除nan行\n",
    "df.dropna(inplace=True)\n",
    "lines=df.content.values.tolist()\n",
    "#开始分词\n",
    "sentences=[]\n",
    "for line in lines:\n",
    "    try:\n",
    "        segs=jieba.lcut(line)\n",
    "        segs = [v for v in segs if not str(v).isdigit()]#去数字\n",
    "        segs = list(filter(lambda x:x.strip(), segs))   #去左右空格\n",
    "        segs = list(filter(lambda x:x not in stopwords, segs)) #去掉停用词\n",
    "        sentences.append(segs)\n",
    "    except Exception:\n",
    "        print(line)\n",
    "        continue\n",
    "#构建词袋模型\n",
    "dictionary = corpora.Dictionary(sentences)\n",
    "corpus = [dictionary.doc2bow(sentence) for sentence in sentences]\n",
    "#lda模型，num_topics是主题的个数，这里定义了5个\n",
    "lda = gensim.models.ldamodel.LdaModel(corpus=corpus, id2word=dictionary, num_topics=10)\n",
    "#我们查一下第1号分类，其中最常出现的5个词是：\n",
    "print(lda.print_topic(1, topn=5))\n",
    "#我们打印所有5个主题，每个主题显示8个词\n",
    "for topic in lda.print_topics(num_topics=10, num_words=8):\n",
    "    print(topic[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'一审'"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dictionary[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/zhangjianfeng/anaconda3/lib/python3.6/site-packages/matplotlib/font_manager.py:1328: UserWarning: findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans\n",
      "  (prop.get_family(), self.defaultFamily[fontext]))\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 10 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#显示中文matplotlib\n",
    "plt.rcParams['font.sans-serif'] = [u'SimHei']\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "# 在可视化部分，我们首先画出了九个主题的7个词的概率分布图\n",
    "num_show_term = 8 # 每个主题下显示几个词\n",
    "num_topics  = 10  \n",
    "for i, k in enumerate(range(num_topics)):\n",
    "    ax = plt.subplot(2, 5, i+1)\n",
    "    item_dis_all = lda.get_topic_terms(topicid=k)\n",
    "    item_dis = np.array(item_dis_all[:num_show_term])\n",
    "    ax.plot(range(num_show_term), item_dis[:, 1], 'b*')\n",
    "    item_word_id = item_dis[:, 0].astype(np.int)\n",
    "    word = [dictionary.id2token[i] for i in item_word_id]\n",
    "    ax.set_ylabel(u\"概率\")\n",
    "    for j in range(num_show_term):\n",
    "        ax.text(j, item_dis[j, 1], word[j], bbox=dict(facecolor='green',alpha=0.1))\n",
    "plt.suptitle(u'9个主题及其7个主要词的概率', fontsize=18)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[人工智能, 智能, 人类, 研究, 不同, 工作, 包括, 领域, 模拟, 理论, 技术, 新的, 门, 机器, 计算机, 科学, 入选, 复杂, AI, 12月]\n"
     ]
    }
   ],
   "source": [
    "from pyhanlp import *\n",
    "result = HanLP.extractKeyword(sentence, 20)\n",
    "print(result)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
